package com.yungu.swift.order.model.vo;


import com.yungu.swift.assets.driver.model.dto.DriverDto;
import com.yungu.swift.assets.passenger.model.vo.AdminPassengerVo;
import com.yungu.swift.base.model.BaseVo;

import java.util.Date;

/**
 * 描述：后台乘客拼车订单详情 <br>
 *
 * @author Zerrion
 * @date 2017/2/4
 */
public class PasPoolOrderDetailVo extends BaseVo {
    /**
     * 订单uuid
     **/
    private String orderUuid;
    /**
     * 乘客信息
     **/
    private AdminPassengerVo passenger;
    /**
     * 司机信息
     **/
    private DriverDto driver;


    //订单信息
    /**
     * 出发地（上车点）
     **/
    private String originAddr;
    /**
     * 出发地（上车点）详情地址
     **/
    private String originDetailAddr;
    /**
     * 目的地（下车点）
     **/
    private String destAddr;
    /**
     * 目的地（下车点）详细地址
     **/
    private String destDetailAddr;

    /**
     * 司机接单时间
     */
    private Date receivingTime;
    /**
     * 司机出发时间
     */
    private Date deparTime;
    /**
     * 上车时间
     */
    private Date pasArrTime;
    /**
     * 到达时间
     */
    private Date arriveTime;
    /**
     * 实际行驶里程
     */
    private Double tripDistance;
    /**
     * 实际行驶时间
     */
    private Long tripDuration;
    /**
     * 车费总额
     */
    private Double totalFare;
    /**
     * 支付时间
     */
    private Date payTime;
    /**
     * 预估金额
     */
    private Double estimatedTotalFare;
    /**
     * 实际金额
     */
    private Double actualFare;
    /**
     * 优惠券抵用
     */
    private Double couponFare;
    /**
     * 实际支付费用
     */
    private Double actualPayFare;
    /**
     * 支付类型（1支付宝，2微信，3信用卡，4苹果，5余额）
     */
    private int payType;

    /**
     * 评价时间
     */
    private Date evaluationTime;
    /**
     * 评分
     */
    private Double score;
    /**
     * 评价标签
     */
    private String evaluateTag;

    /**
     * 取消费
     */
    private Double cancelFare;
    /**
     * 订单子状态
     **/
    private Integer subStatus;
    /**
     * 乘车人数
     **/
    private Integer pasNum;
    /**
     * 订单类型（行程）：1 出租车；2 专车； 3 拼车； 4 接送机；5 日租/半日租
     **/
    private Integer typeTrip;
    /**
     * 主状态（1:新建订单 2：行程进行中 3：行程结束，待支付 4：支付完成，订单结束 5：订单取消）
     **/
    private Integer mainStatus;

    public Integer getMainStatus() {
        return mainStatus;
    }

    public void setMainStatus(Integer mainStatus) {
        this.mainStatus = mainStatus;
    }

    public String getOrderUuid() {
        return orderUuid;
    }

    public void setOrderUuid(String orderUuid) {
        this.orderUuid = orderUuid;
    }

    public AdminPassengerVo getPassenger() {
        return passenger;
    }

    public void setPassenger(AdminPassengerVo passenger) {
        this.passenger = passenger;
    }

    public DriverDto getDriver() {
        return driver;
    }

    public void setDriver(DriverDto driver) {
        this.driver = driver;
    }

    public String getOriginAddr() {
        return originAddr;
    }

    public void setOriginAddr(String originAddr) {
        this.originAddr = originAddr;
    }

    public String getOriginDetailAddr() {
        return originDetailAddr;
    }

    public void setOriginDetailAddr(String originDetailAddr) {
        this.originDetailAddr = originDetailAddr;
    }

    public String getDestAddr() {
        return destAddr;
    }

    public void setDestAddr(String destAddr) {
        this.destAddr = destAddr;
    }

    public String getDestDetailAddr() {
        return destDetailAddr;
    }

    public void setDestDetailAddr(String destDetailAddr) {
        this.destDetailAddr = destDetailAddr;
    }

    public Date getReceivingTime() {
        return receivingTime;
    }

    public void setReceivingTime(Date receivingTime) {
        this.receivingTime = receivingTime;
    }

    public Date getDeparTime() {
        return deparTime;
    }

    public void setDeparTime(Date deparTime) {
        this.deparTime = deparTime;
    }

    public Date getPasArrTime() {
        return pasArrTime;
    }

    public void setPasArrTime(Date pasArrTime) {
        this.pasArrTime = pasArrTime;
    }

    public Date getArriveTime() {
        return arriveTime;
    }

    public void setArriveTime(Date arriveTime) {
        this.arriveTime = arriveTime;
    }

    public Double getTripDistance() {
        return tripDistance;
    }

    public void setTripDistance(Double tripDistance) {
        this.tripDistance = tripDistance;
    }

    public Long getTripDuration() {
        return tripDuration;
    }

    public void setTripDuration(Long tripDuration) {
        this.tripDuration = tripDuration;
    }

    public Double getTotalFare() {
        return totalFare;
    }

    public void setTotalFare(Double totalFare) {
        this.totalFare = totalFare;
    }

    public Date getPayTime() {
        return payTime;
    }

    public void setPayTime(Date payTime) {
        this.payTime = payTime;
    }

    public Double getEstimatedTotalFare() {
        return estimatedTotalFare;
    }

    public void setEstimatedTotalFare(Double estimatedTotalFare) {
        this.estimatedTotalFare = estimatedTotalFare;
    }

    public Double getActualFare() {
        return actualFare;
    }

    public void setActualFare(Double actualFare) {
        this.actualFare = actualFare;
    }

    public Double getCouponFare() {
        return couponFare;
    }

    public void setCouponFare(Double couponFare) {
        this.couponFare = couponFare;
    }

    public Double getActualPayFare() {
        return actualPayFare;
    }

    public void setActualPayFare(Double actualPayFare) {
        this.actualPayFare = actualPayFare;
    }

    public int getPayType() {
        return payType;
    }

    public void setPayType(int payType) {
        this.payType = payType;
    }

    public Date getEvaluationTime() {
        return evaluationTime;
    }

    public void setEvaluationTime(Date evaluationTime) {
        this.evaluationTime = evaluationTime;
    }

    public Double getScore() {
        return score;
    }

    public void setScore(Double score) {
        this.score = score;
    }

    public String getEvaluateTag() {
        return evaluateTag;
    }

    public void setEvaluateTag(String evaluateTag) {
        this.evaluateTag = evaluateTag;
    }

    public Double getCancelFare() {
        return cancelFare;
    }

    public void setCancelFare(Double cancelFare) {
        this.cancelFare = cancelFare;
    }

    public Integer getSubStatus() {
        return subStatus;
    }

    public void setSubStatus(Integer subStatus) {
        this.subStatus = subStatus;
    }

    public Integer getPasNum() {
        return pasNum;
    }

    public void setPasNum(Integer pasNum) {
        this.pasNum = pasNum;
    }

    public Integer getTypeTrip() {
        return typeTrip;
    }

    public void setTypeTrip(Integer typeTrip) {
        this.typeTrip = typeTrip;
    }
}
